<?php

class Etiquetas_model extends CI_Model
{

    private $table = "etiquetas";

    function __construct()
    {
        parent::__construct();
    }

    function insert($row = array())
    {
        $this->db->insert($this->table, $row);
        return $this->db->insert_id();
    }

    function update($id, $row = array())
    {
        $this->db->where("id", $id);
        $this->db->update($this->table, $row);
    }

    function find($id)
    {
        $this->db->where('id', $id);
        $rows = $this->db->get($this->table);
        return $rows;
    }

    function find_name($nombre)
    {
        $query = sprintf("select empresa_id from " . $this->table . " where nombre='%s'",$this->db->escape_str($nombre));
        $rows = $this->db->query($query);
        $rows = $rows->row();
        if ($rows == null)
            return "0";
        else
            return $rows->id;
    }

    function find_name_like($nombre)
    {
        $query = "select empresa_id from etiquetas where nombre like '%".$this->db->escape_str($nombre)."%'";
        $rows = $this->db->query($query);
        $rows = $rows->result_array();
        return $rows;
    }
    
    function find_where_name($nombre)
    {
        $query=sprintf("select empresa,etiquetas,empresa_id as id,empresa_url from etiquetas inner join empresas on etiquetas.empresa_id=empresas.id where etiquetas.nombre='%s'",$nombre);
        $rows = $this->db->query($query);
        $rows = $rows->result_array();
        return $rows;
    }
    
    //

    function list_all()
    {
        return $this->db->get($this->table);
    }

    function delete($id)
    {
        $this->db->where('id', $id);
        $this->db->delete($this->table);
    }

    function delete_empresa_id($empresa_id)
    {
        $this->db->where('empresa_id', $empresa_id);
        $this->db->delete($this->table);
    }

    function count()
    {
        return $this->db->count_all($this->table);
    }

    function list_all_limit($start, $end)
    {
        $this->db->select('*');
        $this->db->limit($end, $start);
        $this->db->order_by('id', 'desc');
        return $this->db->get($this->table);
    }

    function list_empresa_id($empresa_id)
    {
        $query = sprintf("select nombre from etiquetas where empresa_id=%s order by nombre",$this->db->escape_str($empresa_id));
        return $this->db->query($query);
    }

    function list_tag_group()
    {
        $query = "select count(*) as cantidad, nombre from " . $this->table . "   group by nombre order by nombre desc";
        $rows =$this->db->query($query);
        $rows = $rows->result_array();
        return $rows;
    }
    
}

?>